#ifndef PATRON_H
#define PATRON_H

#include <string>
#include <list>
#include "Piece.h"

class Patron
{
    public:
        Patron();
        virtual ~Patron();

        int getLargeur() { return m_largeur; }
        int getLongueur() { return m_longueur; }
	std::list<Piece *> getPieces() { return m_pieces; }
        std::string getNom() { return m_nom; }

        void setLargeur(int val) { m_largeur = val; }
        void setLongueur(int val) { m_longueur = val; }
        void setNom(std::string val) { m_nom = val; }

	void addPiece(Piece *p);
	void removePiece(Piece *p);

    protected:
    private:
        int m_largeur;
        int m_longueur;
        std::string m_nom;
	std::list<Piece *> m_pieces;
};

#endif // PATRON_H
